using System;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using System.Windows.Forms;

using AdventureWorks.Cinema.SharedBusinessLogic;
using AdventureWorks.Cinema.ServiceAccessLayer;
using AdventureWorks.Cinema.ServiceAccessLayer.WebService;

namespace AdventureWorks.Cinema.Client.Windows
{
    /// Model-View-Controller Architektur:
    /// Diese Klasse ist Teil des Objektes "Movie", das aus 3 Teilen besteht:
    /// - MovieForm, der Dialog (view)
    /// - MovieController, der Controller.
    /// - MovieModel, das Modell (model)
     internal sealed class MovieModel
    {

        public void SaveChangedMovie(Movie movie)
        {
            try
            {
                // Speichere die Anderungen des Films
                Cinema.Business.Movies.Update(movie);
            }
            catch (ServiceAccessException ex)
            {
                // Zeige erhaltene Serverzugriffs-Ausnahme in einer
                // Nachrichtenbox an
                MessageBoxOptions options =
                    CultureInfo.CurrentUICulture.TextInfo.
                    IsRightToLeft ?
                    MessageBoxOptions.RtlReading : 0;
                MessageBox.Show(ex.Message,
                    Application.ProductName, MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1, options);
            }
        }
        public void SaveNewMovie(Movie movie) 
        {
            try
            {
                // Speichere einen neuen Film
                Cinema.Business.Movies.Create(movie);
            }
            catch (ServiceAccessException ex)
            {
                // Zeige erhaltene Serverzugriffs-Ausnahme in einer
                // Nachrichtenbox an
                MessageBoxOptions options =
                    CultureInfo.CurrentUICulture.TextInfo.
                    IsRightToLeft ?
                    MessageBoxOptions.RtlReading : 0;
                MessageBox.Show(ex.Message,
                    Application.ProductName, MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1, options);
            }
        }
    }
}
